package com.starlink.model.vo.mall;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author: zyh
 * @date: 2024-04-24
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("商城管理端订单响应模型")
public class AdminMallOrderListVO implements Serializable {
    @ApiModelProperty("订单ID ")
    private Long orderId;
    @ApiModelProperty("订单号 ")
    private String orderNum;
    @ApiModelProperty("下单时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty("用户名称")
    private String userName;
    @ApiModelProperty("用户手机号")
    private String phoneNum;
    @ApiModelProperty("总金额(不含运费)")
    private BigDecimal amount;
    @ApiModelProperty("积分价格")
    private Long integralPrice;
    @ApiModelProperty("积分商品支付类型 1积分支付 2积分+钱")
    private Integer paymentType;
    @ApiModelProperty("运费")
    private BigDecimal freight;
    @ApiModelProperty("订单状态 0:全部订单 1:待付款 2:待发货 3:待收货 4:已完成 5:已取消 6:售后中 7:已售后 传数字字符串")
    private String orderStatus;
    @ApiModelProperty("订单类型 1:书籍订单 2:周边订单 3:积分订单 4:购物车订单")
    private Integer orderType;
    @ApiModelProperty("订单类型 0:普通订单 1:兑换订单")
    private Integer orderNormal;
    @ApiModelProperty("地址ID")
    private Long addressId;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区/县")
    private String area;
    @ApiModelProperty("详细地址")
    private String detail;
    @ApiModelProperty("商品信息列表")
    private List<AdminArticlesVO> articlesVOS;
}
